import java.util.ArrayList;
import java.util.Locale;
import java.util.Scanner;

/**
 * Created by L.jp
 * Description:实现一个方法，给定一个输入字符串，能够删除所有连续同样字母（大小写不敏感）。
 * 例如，输入为ABBCCCCCBBAB，输出就是ABCBAB；又如，输入为aAC，输出则是aC。
 * User: 86189
 * Date: 2022-12-10
 * Time: 17:56
 */
public class Solution {
    //注意，不能在转换大写后的字符串上进行拼接，这会改变题目意思
    //我们应该复制一份一样的字符串，然后转换大写，用于去重，
    // 但是还是拼接原来的字符串，那么怎么达到这个目的呢，我们可以存储下转换大写之后该字符的下标，然后在原来的字符串上拼接结果
    public static String remStr(String s){
        //先全部转换大写
        String  str=s.toUpperCase();
        //存储去重之后的字符串的每一个字符的下标
        ArrayList<Integer> list=new ArrayList<>();
        StringBuilder strBuilder=new StringBuilder();
        for(int i = 0; i <str.length(); i++){
            if(i==0){
                list.add( i );
            }else{
                if(str.charAt(i) !=str.charAt(i-1)) {
                    list.add( i );
                }
            }
        }
        //有了下标之后，就拼接原来字符串下标的元素
        for(Integer integer:list){
            strBuilder.append(s.charAt( integer ));
        }
        return strBuilder.toString();
    }
    public static void main (String[] args) {
        System.out.println( remStr( "AAABBBCDsdaaasd" ) );
    
    }
}
